#include <cstdio>

#define MAX_NUMBERS 1000000


int prime (size_t pos)
{
	static int prime_list[MAX_NUMBERS] = {2,3};
	bool prime_not_found;

	int &p = prime_list[pos];
	if (p)
		return p;

	p = prime(pos-1) + 2;
	prime_not_found = true;
	while (prime_not_found)
	{
		prime_not_found = false;
		for (int *pp = prime_list; pp < &p; ++pp)
		{
			if (p % *pp == 0)
			{
				prime_not_found = true;
				p += 2;
				break;
			}
		}
	}

	return p;
}


bool is_prime (int n)
{
	size_t i;
	int p;

	for (i = 0, p = prime(0); p <= n / p; ++i, p = prime(i))
	{
		if (n % p == 0)
		{
			return p == n;
		}
	}
	return true;
}


int main ()
{
	int n, p1, p2;
	while (scanf("%d", &n), n)
	{
		int n2 = n / 2;
		p1 = prime(0);
		for (int i = 0; p1 <= n2; ++i, p1 = prime(i))
		{
			p2 = n - p1;
			if (is_prime(p2))
			{
				printf("%d = %d + %d\n", n, p1, p2);
				break;
			}
		}
		if (p1 > n2)
			puts("Goldbach's conjecture is wrong.");
	}
}